# 21. 华为od面试
# 1. 类似牛客网的机试
先看算法题输入输出格式:oj处理输入输出 (opens new window)
# 2. 性格测试
好像是120道选择题,120分钟。乐观、忧虑、轻松、一致性
# 3. hr资格面
离职原因尽量不要直接说薪资问题,讲发展业务这块都可以的。资面大概20分钟,不涉及太多技术问题,主要是聊天沟通~
# 4. 技术一面
面试过程用的华为的WeMeeting会议软件,mac电脑中使用WeMeeting共享屏幕在LeetCode中答题会卡死。。卡了几次,换了windows电脑没问题。
- vue2与vue3区别。vue2-vs-vue3 (opens new window)
- 需求开发协作流程介绍。
- 岛屿数量 (opens new window)
# 5. 技术二面
- 项目介绍
- 项目过程中遇到的难题
- 性能优化过程中使用的方法,性能指标有哪些?fcp是啥意思,之前都干了啥
- 浏览器缓存有哪些?区别?(cookie、sessionStorge、localStorge)
- 代码规范有哪些
- 事件委托
- BFC (opens new window)
- 盒模型 (opens new window)
- js基础类型和引用类型
- 算法题:给你一个整数数组,去除一个数,求乘积最大值
// 给你一个整数数组,去除一个数,求乘积最大值
function maxValue(arr) {
let all = 1;
let max = -Infinity;
let left = 0;
let zero = 0;
for(let i=0; i<arr.length; i++) {
all *= arr[i];
if (arr[i] < 0) {
left++;
} else if (arr[i] === 0) {
zero++;
}
}
if (zero > 1) {
return 0;
}
if (zero === 1) {
if (left % 2 !== 0) { // 负数不是2的倍数
return 0;
}
}
for(let i=0; i<arr.length; i++) {
let n = all;
let cur = arr[i];
max = Math.max(max, n/cur);
}
return max;
}
// let arr = [-1, 0, 1, 3]; 0
// let arr = [2, 3, 4]; 12
// let arr = [-2, -3, 4]; 6
// let arr = [-2, 3, 4]; 12
console.log(maxValue(arr))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 6. 主管面
就问了下之前的业务,需求开发流程,线上运营问题后处理流程。介绍了下要搞的具体业务。
# 总结
- 机试390分。机试后知道一定过。
- 性格测试乐观、忧虑、轻松、一致性。面完后知道大概率过。
- hr随便聊聊,怎么看od,目标薪资等。面完后知道一定过。
- 技术一面,之前开发协作流程,vue区别,一道算法题过。面完后知道一定过。
- 技术二面,问的比较多,项目问题,技术基础,一道算法题过。面完后知道一定过。
- 看你语言组织和逻辑,了解你之前的业务和开发以及处理问题的过程。
面试过程中总有一种为了面试而面试的感觉,而且面试是大部分是晚于面试约定的时间,导致我觉得里面太忙了连面试的时间都没。定级D3(这个定级开始hr说和你机试和面试有关系,但是我基本面试算法题全过,面试也聊的挺好,也才D3,所以我觉得定级和你学校以及之前base关系是最大的),薪资涨幅20%左右,最后由于薪资涨幅不高,别的地方也了解到加班多,内部压抑。最后由于性价比不高,我也有其他offer了,就拒绝了。总结下,如果和你上一份工资相比涨幅40%以上,或者找不到更好的工作,可以接受,不是为了钱的话还是算了。当然如果你是为了转华为正式,那你学校首先要非常好而且要做好卷的准备,目标要到头部10%,没决心的话还是算了,毕竟学校都这么好了为啥不考虑其他大厂呢?